Over the lifetime of a computer system there is a possibility that many new products will be developed for use by owners and users of a computer. Typically, several additional positions on the backplane of a computer are provided so that additional capability may be added to the computer. New cards can be plugged into what are commonly referred to as expansion slots and the cards may include connectors to which a peripheral device may be connected. The expansion slots provide access to the bus in a computer over which data, commands, requests, and other information vital to the operation of both the computer and the peripheral pass. Typically a fixed number of these expansion slots are provided within a particular computer. Over the life-time of a computer a user may want to add more peripheral devices to a computer than the number of expansion slots that are provided. In order to accommodate the users need to grow a system by adding more peripheral products, it is generally necessary to provide a piece of equipment which extends the bus to a location outside of a particular computer such as a secondary cabinet or enclosure. Once the bus is outside of the computer additional peripherals can be added thereby allowing users to add memory, additional disk drives, and other additional products for use with a particular computer. Allowing the users to add the products they need allows users to customize their system in response to particular needs they might have. Allowing for the addition of products to a system also lets computer users grow their system and extend the useful life of a particular system.
Computers generally operate and carry out certain functions at periodic times. Computers generally carry an oscillating clock signal which provides periodic signal timing reference points to delineate the phases of basic information transfer sequences known as bus cycles. An example will illustrate how computer buses designed using a clock cycle work. When the computer needs information from a device outside its central processing unit, the computer sends a command to a particular device. For example, the central processing unit may command the memory device to fetch particular information during a first clock cycle. The peripheral memory device recognizes the command, fetches the desired information and sends it down the data carrying portion of the bus during the second clock cycle. After the second clock cycle, the data is used by the central processing portion of the computer to perform the functions necessary to accomplish a particular task. In the design of the bus, the cycle time generally had to be selected that would allow each of the peripherals to answer. The slowest operation, therefore, dictated how many clock cycles had to set aside for a bus cycle. Generally, the bus could be easily extended to a position outside of the computer box as long as the designer knew the length of the bus cycle.
In computing, increasing the speed at which computations or a total task can be accomplished is always a desirable goal. Increased speed allows users to accomplish more tasks in a given period of time. In order to increase the speed at which a particular task is done, some bus designs have moved away from the use of clock signals. Such a design has been implemented in the PS/2 model of computer made by International Business Machines ("IBM") of Armonk, N.Y. The IBM PS/2 computer bus includes an address bus, a data bus, a transfer control bus, an arbitration bus, and multiple support signals. The design of the Micro Channel uses an asynchronous protocol for control and data transfer between memory, input/output ("I/O"), and the system central processing unit. In other words, operations of the bus have been made asynchronous in order to increase the overall speed at which the computer can perform operations.
In addition, to increase the speed at which specific tasks are accomplished shorter amounts of time are allotted for a peripheral device to respond in one way or another. This amount of time is so short that the time necessary for an electrical signal to travel down a length of wire outside of the computer chassis and back again may delay the response beyond the time allotted in the design for response to a command. This, for example, is the case for the Micro Channel bus design for the IBM PS/2 model of computer. As a result, this has produced a whole new set of problems to overcome in order to design a piece of equipment which will allow the bus to be extended outside of the chassis of the computer. Thus, there is a need for an method and apparatus which can be used to extend a data bus using asynchronous protocols for certain functions so that a user can add additional devices to a computer having such a design.